package com.ruoyi.bus.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 排班计划对象 wit_plan
 * 
 * @author caiyanshan
 * @date 2021-04-17
 */
public class WitPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 排班主键 */
    private Long planId;

    /** 路线ID */
    /*@Excel(name = "路线ID")*/
    private Long routeId;

    /** 司机名称 */
    @Excel(name = "司机名称")
    private String driverUserName;

    /** 路线名称 */
    @Excel(name = "路线名称")
    private String routeName;

    /** 班次 */
    @Excel(name = "班次")
    private String driveTime;

    /** 车辆ID */
    /*@Excel(name = "车辆ID")*/
    private Long busId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String busNumber;

    /** 车型 */
    @Excel(name = "车型")
    private String busModel;

    /** 排班状态 */
    private Integer planStatus;

    @Excel(name = "排班状态")
    private String planStatusName;

    /** 司机ID */
    /*@Excel(name = "司机ID")*/
    private Long driverUserId;


    /** 预约人数 */
    @Excel(name = "预约人数")
    private Integer appointCount;

    /** 临时预约人数 */
    @Excel(name = "临时预约人数")
    private Integer tempAppointCount;

    /** 发车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "发车时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date sendTime;
    
    private WitRoute route;
    
    private String depts;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "班车开始行驶时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date carGoTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "班车结束行驶时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date carOverTime;

    public Date getCarGoTime() {
        return carGoTime;
    }

    public void setCarGoTime(Date carGoTime) {
        this.carGoTime = carGoTime;
    }

    public Date getCarOverTime() {
        return carOverTime;
    }

    public void setCarOverTime(Date carOverTime) {
        this.carOverTime = carOverTime;
    }

    public String getPlanStatusName() {
        return planStatusName;
    }
    
    public void setPlanStatusName(String planStatusName) {
        this.planStatusName = planStatusName;
    }
    
    public String getDepts() {
        return depts;
    }
    
    public void setDepts(String depts) {
        this.depts = depts;
    }
    
    public WitRoute getRoute() {
        return route;
    }
    
    public void setRoute(WitRoute route) {
        this.route = route;
    }
    
    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }
    public void setRouteId(Long routeId) 
    {
        this.routeId = routeId;
    }

    public Long getRouteId() 
    {
        return routeId;
    }
    public void setRouteName(String routeName) 
    {
        this.routeName = routeName;
    }

    public String getRouteName() 
    {
        return routeName;
    }
    public void setDriveTime(String driveTime) 
    {
        this.driveTime = driveTime;
    }

    public String getDriveTime() 
    {
        return driveTime;
    }
    public void setBusId(Long busId) 
    {
        this.busId = busId;
    }

    public Long getBusId() 
    {
        return busId;
    }
    public void setBusNumber(String busNumber) 
    {
        this.busNumber = busNumber;
    }

    public String getBusNumber() 
    {
        return busNumber;
    }
    public void setBusModel(String busModel) 
    {
        this.busModel = busModel;
    }

    public String getBusModel() 
    {
        return busModel;
    }
    public void setPlanStatus(Integer planStatus) 
    {
        this.planStatus = planStatus;
    }

    public Integer getPlanStatus() 
    {
        return planStatus;
    }
    public void setDriverUserId(Long driverUserId) 
    {
        this.driverUserId = driverUserId;
    }

    public Long getDriverUserId() 
    {
        return driverUserId;
    }
    public void setDriverUserName(String driverUserName) 
    {
        this.driverUserName = driverUserName;
    }

    public String getDriverUserName() 
    {
        return driverUserName;
    }
    public void setAppointCount(Integer appointCount) 
    {
        this.appointCount = appointCount;
    }

    public Integer getAppointCount() 
    {
        return appointCount;
    }
    public void setTempAppointCount(Integer tempAppointCount) 
    {
        this.tempAppointCount = tempAppointCount;
    }

    public Integer getTempAppointCount() 
    {
        return tempAppointCount;
    }
    public void setSendTime(Date sendTime) 
    {
        this.sendTime = sendTime;
    }

    public Date getSendTime() 
    {
        return sendTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planId", getPlanId())
            .append("routeId", getRouteId())
            .append("routeName", getRouteName())
            .append("driveTime", getDriveTime())
            .append("busId", getBusId())
            .append("busNumber", getBusNumber())
            .append("busModel", getBusModel())
            .append("planStatus", getPlanStatus())
            .append("driverUserId", getDriverUserId())
            .append("driverUserName", getDriverUserName())
            .append("appointCount", getAppointCount())
            .append("tempAppointCount", getTempAppointCount())
            .append("sendTime", getSendTime())
            .append("createTime", getCreateTime())
            .toString();
    }
}
